# -*- coding: utf-8 -*-
import unittest
from core import process_html, process_text
import entity as E

class TypoTestCase(unittest.TestCase):
    def test_protect(self):
        txt = """
        <a href="aaa">a</a>
        <style>
        sss
        </style>
        <img src=>
        asdsad
        """
        self.assertEquals(process_html(txt), txt.strip())

    def test_dash(self):
        #self.assertEquals(process_text(u'Кто -- я?!'), u'Кто&nbsp;— я?!')
        self.assertEquals(process_text(u'Who -- me'), u'Who%s%s me' % (E.nbsp, E.mdash))
        self.assertEquals(process_text(u'-- A am'), u'%s A am' % E.mdash)
        self.assertEquals(process_text(u' 1999-2000 '), u'1999%s2000' % E.ndash)

    def test_quotes(self):
        self.assertEquals(process_text(u' for "zzzzz" only '), u'for %szzzzz%s only' % (E.lquote, E.rquote))
        self.assertEquals(process_text(u' фор "zzzzz" only '), u'фор %szzzzz%s only' % (E.lquote, E.rquote))
        self.assertEquals(process_text(u' фор "zzzzz" онли '), u'фор %szzzzz%s онли' % (E.lquote, E.rquote))
        self.assertEquals(process_text(u' фор "abc" онли '), u'фор %sabc%s онли' % (E.lquote, E.rquote))
        self.assertEquals(process_text(u' фор "123" онли '), u'фор %s123%s онли' % (E.lquote, E.rquote))
        self.assertEquals(process_text(u' фор "ззззз" онли '), u'фор %sззззз%s онли' % (E.lquote, E.rquote))
        self.assertEquals(process_text(u' это "трафарет" называется '), u'это %sтрафарет%s называется' % (E.lquote, E.rquote))
        self.assertEquals(process_text(u' "трафарет" '), u'%sтрафарет%s' % (E.lquote, E.rquote))
        self.assertEquals(process_text(u' английского, "трафарет" '), u'английского, %sтрафарет%s' % (E.lquote, E.rquote))
        self.assertEquals(process_text(u' английского, "трафарет". '), u'английского, %sтрафарет%s.' % (E.lquote, E.rquote))
        self.assertEquals(process_text(u' some, "on". '), u'some, %son%s.' % (E.lquote, E.rquote))


if __name__ == "__main__":
    unittest.main()
